<!DOCTYPE html>
<html lang="en-us">
  <head>

    <meta http-equiv="content-type" content="text/html; charset=utf-8">
    
<meta charset="UTF-8">
<title>Language Analyzers | Elasticsearch Guide [7.7] | Elastic</title>
<link rel="home" href="index.html" title="Elasticsearch Guide [7.7]">
<link rel="up" href="analysis-analyzers.html" title="Built-in analyzer reference">
<link rel="prev" href="analysis-keyword-analyzer.html" title="Keyword Analyzer">
<link rel="next" href="analysis-pattern-analyzer.html" title="Pattern Analyzer">
<meta name="DC.type" content="Learn/Docs/Elasticsearch/Reference/7.7">
<meta name="DC.subject" content="Elasticsearch">
<meta name="DC.identifier" content="7.7">
<meta name="robots" content="noindex,nofollow">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <script src="https://cdn.optimizely.com/js/18132920325.js"></script>
    <link rel="apple-touch-icon" sizes="57x57" href="/apple-icon-57x57.png">
    <link rel="apple-touch-icon" sizes="60x60" href="/apple-icon-60x60.png">
    <link rel="apple-touch-icon" sizes="72x72" href="/apple-icon-72x72.png">
    <link rel="apple-touch-icon" sizes="76x76" href="/apple-icon-76x76.png">
    <link rel="apple-touch-icon" sizes="114x114" href="/apple-icon-114x114.png">
    <link rel="apple-touch-icon" sizes="120x120" href="/apple-icon-120x120.png">
    <link rel="apple-touch-icon" sizes="144x144" href="/apple-icon-144x144.png">
    <link rel="apple-touch-icon" sizes="152x152" href="/apple-icon-152x152.png">
    <link rel="apple-touch-icon" sizes="180x180" href="/apple-icon-180x180.png">
    <link rel="icon" type="image/png" href="/favicon-32x32.png" sizes="32x32">
    <link rel="icon" type="image/png" href="/android-chrome-192x192.png" sizes="192x192">
    <link rel="icon" type="image/png" href="/favicon-96x96.png" sizes="96x96">
    <link rel="icon" type="image/png" href="/favicon-16x16.png" sizes="16x16">
    <link rel="manifest" href="/manifest.json">
    <meta name="apple-mobile-web-app-title" content="Elastic">
    <meta name="application-name" content="Elastic">
    <meta name="msapplication-TileColor" content="#ffffff">
    <meta name="msapplication-TileImage" content="/mstile-144x144.png">
    <meta name="theme-color" content="#ffffff">
    <meta name="naver-site-verification" content="936882c1853b701b3cef3721758d80535413dbfd">
    <meta name="yandex-verification" content="d8a47e95d0972434">
    <meta name="localized" content="true">
    <meta name="st:robots" content="follow,index">
    <meta property="og:image" content="https://www.elastic.co/static/images/elastic-logo-200.png">
    <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">
    <link rel="icon" href="/favicon.ico" type="image/x-icon">
    <link rel="apple-touch-icon-precomposed" sizes="64x64" href="/favicon_64x64_16bit.png">
    <link rel="apple-touch-icon-precomposed" sizes="32x32" href="/favicon_32x32.png">
    <link rel="apple-touch-icon-precomposed" sizes="16x16" href="/favicon_16x16.png">
    <!-- Give IE8 a fighting chance -->
    <!--[if lt IE 9]>
    <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
    <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
    <![endif]-->
    <link rel="stylesheet" type="text/css" href="/guide/static/styles.css">
  </head>

  <!--© 2015-2021 Elasticsearch B.V. Copying, publishing and/or distributing without written permission is strictly prohibited.-->

  <body>
    <!-- Google Tag Manager -->
    <script>dataLayer = [];</script><noscript><iframe src="//www.googletagmanager.com/ns.html?id=GTM-58RLH5" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
    <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= '//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-58RLH5');</script>
    <!-- End Google Tag Manager -->

    <!-- Global site tag (gtag.js) - Google Analytics -->
    <script async src="https://www.googletagmanager.com/gtag/js?id=UA-12395217-16"></script>
    <script>
      window.dataLayer = window.dataLayer || [];
      function gtag(){dataLayer.push(arguments);}
      gtag('js', new Date());
      gtag('config', 'UA-12395217-16');
    </script>

    <!--BEGIN QUALTRICS WEBSITE FEEDBACK SNIPPET-->
    <script type="text/javascript">
      (function(){var g=function(e,h,f,g){
      this.get=function(a){for(var a=a+"=",c=document.cookie.split(";"),b=0,e=c.length;b<e;b++){for(var d=c[b];" "==d.charAt(0);)d=d.substring(1,d.length);if(0==d.indexOf(a))return d.substring(a.length,d.length)}return null};
      this.set=function(a,c){var b="",b=new Date;b.setTime(b.getTime()+6048E5);b="; expires="+b.toGMTString();document.cookie=a+"="+c+b+"; path=/; "};
      this.check=function(){var a=this.get(f);if(a)a=a.split(":");else if(100!=e)"v"==h&&(e=Math.random()>=e/100?0:100),a=[h,e,0],this.set(f,a.join(":"));else return!0;var c=a[1];if(100==c)return!0;switch(a[0]){case "v":return!1;case "r":return c=a[2]%Math.floor(100/c),a[2]++,this.set(f,a.join(":")),!c}return!0};
      this.go=function(){if(this.check()){var a=document.createElement("script");a.type="text/javascript";a.src=g;document.body&&document.body.appendChild(a)}};
      this.start=function(){var a=this;window.addEventListener?window.addEventListener("load",function(){a.go()},!1):window.attachEvent&&window.attachEvent("onload",function(){a.go()})}};
      try{(new g(100,"r","QSI_S_ZN_emkP0oSe9Qrn7kF","https://znemkp0ose9qrn7kf-elastic.siteintercept.qualtrics.com/WRSiteInterceptEngine/?Q_ZID=ZN_emkP0oSe9Qrn7kF")).start()}catch(i){}})();
    </script><div id="ZN_emkP0oSe9Qrn7kF"><!--DO NOT REMOVE-CONTENTS PLACED HERE--></div>
    <!--END WEBSITE FEEDBACK SNIPPET-->

    <div id="elastic-nav" style="display:none;"></div>
    <script src="https://www.elastic.co/elastic-nav.js"></script>

    <!-- Subnav -->
    <div>
      <div>
        <div class="tertiary-nav d-none d-md-block">
          <div class="container">
            <div class="p-t-b-15 d-flex justify-content-between nav-container">
              <div class="breadcrum-wrapper"><span><a href="/guide/" style="font-size: 14px; font-weight: 600; color: #000;">Docs</a></span></div>
            </div>
          </div>
        </div>
      </div>
    </div>

    <div class="main-container">
      <section id="content">
        <div class="content-wrapper">

          <section id="guide" lang="en">
            <div class="container">
              <div class="row">
                <div class="col-xs-12 col-sm-8 col-md-8 guide-section">
                  <!-- start body -->
                  <div class="page_header">
<strong>IMPORTANT</strong>: No additional bug fixes or documentation updates
will be released for this version. For the latest information, see the
<a href="../current/index.html">current release documentation</a>.
</div>
<div id="content">
<div class="breadcrumbs">
<span class="breadcrumb-link"><a href="index.html">Elasticsearch Guide [7.7]</a></span>
»
<span class="breadcrumb-link"><a href="analysis.html">Text analysis</a></span>
»
<span class="breadcrumb-link"><a href="analysis-analyzers.html">Built-in analyzer reference</a></span>
»
<span class="breadcrumb-node">Language Analyzers</span>
</div>
<div class="navheader">
<span class="prev">
<a href="analysis-keyword-analyzer.html">« Keyword Analyzer</a>
</span>
<span class="next">
<a href="analysis-pattern-analyzer.html">Pattern Analyzer »</a>
</span>
</div>
<div class="section">
<div class="titlepage"><div><div>
<h2 class="title">
<a id="analysis-lang-analyzer"></a>Language Analyzers<a class="edit_me edit_me_private" rel="nofollow" title="Editing on GitHub is available to Elastic" href="https://github.com/elastic/elasticsearch/edit/7.7/docs/reference/analysis/analyzers/lang-analyzer.asciidoc">edit</a>
</h2>
</div></div></div>
<p>A set of analyzers aimed at analyzing specific language text. The
following types are supported:
<a class="xref" href="analysis-lang-analyzer.html#arabic-analyzer" title="arabic analyzer"><code class="literal">arabic</code></a>,
<a class="xref" href="analysis-lang-analyzer.html#armenian-analyzer" title="armenian analyzer"><code class="literal">armenian</code></a>,
<a class="xref" href="analysis-lang-analyzer.html#basque-analyzer" title="basque analyzer"><code class="literal">basque</code></a>,
<a class="xref" href="analysis-lang-analyzer.html#bengali-analyzer" title="bengali analyzer"><code class="literal">bengali</code></a>,
<a class="xref" href="analysis-lang-analyzer.html#brazilian-analyzer" title="brazilian analyzer"><code class="literal">brazilian</code></a>,
<a class="xref" href="analysis-lang-analyzer.html#bulgarian-analyzer" title="bulgarian analyzer"><code class="literal">bulgarian</code></a>,
<a class="xref" href="analysis-lang-analyzer.html#catalan-analyzer" title="catalan analyzer"><code class="literal">catalan</code></a>,
<a class="xref" href="analysis-lang-analyzer.html#cjk-analyzer" title="cjk analyzer"><code class="literal">cjk</code></a>,
<a class="xref" href="analysis-lang-analyzer.html#czech-analyzer" title="czech analyzer"><code class="literal">czech</code></a>,
<a class="xref" href="analysis-lang-analyzer.html#danish-analyzer" title="danish analyzer"><code class="literal">danish</code></a>,
<a class="xref" href="analysis-lang-analyzer.html#dutch-analyzer" title="dutch analyzer"><code class="literal">dutch</code></a>,
<a class="xref" href="analysis-lang-analyzer.html#english-analyzer" title="english analyzer"><code class="literal">english</code></a>,
<a class="xref" href="analysis-lang-analyzer.html#estonian-analyzer" title="estonian analyzer"><code class="literal">estonian</code></a>,
<a class="xref" href="analysis-lang-analyzer.html#finnish-analyzer" title="finnish analyzer"><code class="literal">finnish</code></a>,
<a class="xref" href="analysis-lang-analyzer.html#french-analyzer" title="french analyzer"><code class="literal">french</code></a>,
<a class="xref" href="analysis-lang-analyzer.html#galician-analyzer" title="galician analyzer"><code class="literal">galician</code></a>,
<a class="xref" href="analysis-lang-analyzer.html#german-analyzer" title="german analyzer"><code class="literal">german</code></a>,
<a class="xref" href="analysis-lang-analyzer.html#greek-analyzer" title="greek analyzer"><code class="literal">greek</code></a>,
<a class="xref" href="analysis-lang-analyzer.html#hindi-analyzer" title="hindi analyzer"><code class="literal">hindi</code></a>,
<a class="xref" href="analysis-lang-analyzer.html#hungarian-analyzer" title="hungarian analyzer"><code class="literal">hungarian</code></a>,
<a class="xref" href="analysis-lang-analyzer.html#indonesian-analyzer" title="indonesian analyzer"><code class="literal">indonesian</code></a>,
<a class="xref" href="analysis-lang-analyzer.html#irish-analyzer" title="irish analyzer"><code class="literal">irish</code></a>,
<a class="xref" href="analysis-lang-analyzer.html#italian-analyzer" title="italian analyzer"><code class="literal">italian</code></a>,
<a class="xref" href="analysis-lang-analyzer.html#latvian-analyzer" title="latvian analyzer"><code class="literal">latvian</code></a>,
<a class="xref" href="analysis-lang-analyzer.html#lithuanian-analyzer" title="lithuanian analyzer"><code class="literal">lithuanian</code></a>,
<a class="xref" href="analysis-lang-analyzer.html#norwegian-analyzer" title="norwegian analyzer"><code class="literal">norwegian</code></a>,
<a class="xref" href="analysis-lang-analyzer.html#persian-analyzer" title="persian analyzer"><code class="literal">persian</code></a>,
<a class="xref" href="analysis-lang-analyzer.html#portuguese-analyzer" title="portuguese analyzer"><code class="literal">portuguese</code></a>,
<a class="xref" href="analysis-lang-analyzer.html#romanian-analyzer" title="romanian analyzer"><code class="literal">romanian</code></a>,
<a class="xref" href="analysis-lang-analyzer.html#russian-analyzer" title="russian analyzer"><code class="literal">russian</code></a>,
<a class="xref" href="analysis-lang-analyzer.html#sorani-analyzer" title="sorani analyzer"><code class="literal">sorani</code></a>,
<a class="xref" href="analysis-lang-analyzer.html#spanish-analyzer" title="spanish analyzer"><code class="literal">spanish</code></a>,
<a class="xref" href="analysis-lang-analyzer.html#swedish-analyzer" title="swedish analyzer"><code class="literal">swedish</code></a>,
<a class="xref" href="analysis-lang-analyzer.html#turkish-analyzer" title="turkish analyzer"><code class="literal">turkish</code></a>,
<a class="xref" href="analysis-lang-analyzer.html#thai-analyzer" title="thai analyzer"><code class="literal">thai</code></a>.</p>
<div class="section">
<div class="titlepage"><div><div>
<h3 class="title">
<a id="_configuring_language_analyzers"></a>Configuring language analyzers<a class="edit_me edit_me_private" rel="nofollow" title="Editing on GitHub is available to Elastic" href="https://github.com/elastic/elasticsearch/edit/7.7/docs/reference/analysis/analyzers/lang-analyzer.asciidoc">edit</a>
</h3>
</div></div></div>
<div class="section">
<div class="titlepage"><div><div>
<h4 class="title">
<a id="_stopwords"></a>Stopwords<a class="edit_me edit_me_private" rel="nofollow" title="Editing on GitHub is available to Elastic" href="https://github.com/elastic/elasticsearch/edit/7.7/docs/reference/analysis/analyzers/lang-analyzer.asciidoc">edit</a>
</h4>
</div></div></div>
<p>All analyzers support setting custom <code class="literal">stopwords</code> either internally in
the config, or by using an external stopwords file by setting
<code class="literal">stopwords_path</code>. Check <a class="xref" href="analysis-stop-analyzer.html" title="Stop Analyzer">Stop Analyzer</a> for
more details.</p>
</div>

<div class="section">
<div class="titlepage"><div><div>
<h4 class="title">
<a id="_excluding_words_from_stemming"></a>Excluding words from stemming<a class="edit_me edit_me_private" rel="nofollow" title="Editing on GitHub is available to Elastic" href="https://github.com/elastic/elasticsearch/edit/7.7/docs/reference/analysis/analyzers/lang-analyzer.asciidoc">edit</a>
</h4>
</div></div></div>
<p>The <code class="literal">stem_exclusion</code> parameter allows you to specify an array
of lowercase words that should not be stemmed.  Internally, this
functionality is implemented by adding the
<a class="xref" href="analysis-keyword-marker-tokenfilter.html" title="Keyword marker token filter"><code class="literal">keyword_marker</code> token filter</a>
with the <code class="literal">keywords</code> set to the value of the <code class="literal">stem_exclusion</code> parameter.</p>
<p>The following analyzers support setting custom <code class="literal">stem_exclusion</code> list:
<code class="literal">arabic</code>, <code class="literal">armenian</code>, <code class="literal">basque</code>, <code class="literal">bengali</code>, <code class="literal">bulgarian</code>, <code class="literal">catalan</code>, <code class="literal">czech</code>,
<code class="literal">dutch</code>, <code class="literal">english</code>, <code class="literal">finnish</code>, <code class="literal">french</code>, <code class="literal">galician</code>,
<code class="literal">german</code>, <code class="literal">hindi</code>, <code class="literal">hungarian</code>, <code class="literal">indonesian</code>, <code class="literal">irish</code>, <code class="literal">italian</code>, <code class="literal">latvian</code>,
<code class="literal">lithuanian</code>, <code class="literal">norwegian</code>, <code class="literal">portuguese</code>, <code class="literal">romanian</code>, <code class="literal">russian</code>, <code class="literal">sorani</code>,
<code class="literal">spanish</code>, <code class="literal">swedish</code>, <code class="literal">turkish</code>.</p>
</div>

</div>

<div class="section">
<div class="titlepage"><div><div>
<h3 class="title">
<a id="_reimplementing_language_analyzers"></a>Reimplementing language analyzers<a class="edit_me edit_me_private" rel="nofollow" title="Editing on GitHub is available to Elastic" href="https://github.com/elastic/elasticsearch/edit/7.7/docs/reference/analysis/analyzers/lang-analyzer.asciidoc">edit</a>
</h3>
</div></div></div>
<p>The built-in language analyzers can be reimplemented as <code class="literal">custom</code> analyzers
(as described below) in order to customize their behaviour.</p>
<div class="note admon">
<div class="icon"></div>
<div class="admon_content">
<p>If you do not intend to exclude words from being stemmed (the
equivalent of the <code class="literal">stem_exclusion</code> parameter above), then you should remove
the <code class="literal">keyword_marker</code> token filter from the custom analyzer configuration.</p>
</div>
</div>
<div class="section">
<div class="titlepage"><div><div>
<h4 class="title">
<a id="arabic-analyzer"></a><code class="literal">arabic</code> analyzer<a class="edit_me edit_me_private" rel="nofollow" title="Editing on GitHub is available to Elastic" href="https://github.com/elastic/elasticsearch/edit/7.7/docs/reference/analysis/analyzers/lang-analyzer.asciidoc">edit</a>
</h4>
</div></div></div>
<p>The <code class="literal">arabic</code> analyzer could be reimplemented as a <code class="literal">custom</code> analyzer as follows:</p>
<div class="pre_wrapper lang-console">
<pre class="programlisting prettyprint lang-console">PUT /arabic_example
{
  "settings": {
    "analysis": {
      "filter": {
        "arabic_stop": {
          "type":       "stop",
          "stopwords":  "_arabic_" <a id="CO374-1"></a><i class="conum" data-value="1"></i>
        },
        "arabic_keywords": {
          "type":       "keyword_marker",
          "keywords":   ["مثال"] <a id="CO374-2"></a><i class="conum" data-value="2"></i>
        },
        "arabic_stemmer": {
          "type":       "stemmer",
          "language":   "arabic"
        }
      },
      "analyzer": {
        "rebuilt_arabic": {
          "tokenizer":  "standard",
          "filter": [
            "lowercase",
            "decimal_digit",
            "arabic_stop",
            "arabic_normalization",
            "arabic_keywords",
            "arabic_stemmer"
          ]
        }
      }
    }
  }
}</pre>
</div>
<div class="console_widget" data-snippet="snippets/812.console"></div>
<div class="calloutlist">
<table border="0" summary="Callout list">
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO374-1"><i class="conum" data-value="1"></i></a></p>
</td>
<td align="left" valign="top">
<p>The default stopwords can be overridden with the <code class="literal">stopwords</code>
or <code class="literal">stopwords_path</code> parameters.</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO374-2"><i class="conum" data-value="2"></i></a></p>
</td>
<td align="left" valign="top">
<p>This filter should be removed unless there are words which should
be excluded from stemming.</p>
</td>
</tr>
</table>
</div>
</div>

<div class="section">
<div class="titlepage"><div><div>
<h4 class="title">
<a id="armenian-analyzer"></a><code class="literal">armenian</code> analyzer<a class="edit_me edit_me_private" rel="nofollow" title="Editing on GitHub is available to Elastic" href="https://github.com/elastic/elasticsearch/edit/7.7/docs/reference/analysis/analyzers/lang-analyzer.asciidoc">edit</a>
</h4>
</div></div></div>
<p>The <code class="literal">armenian</code> analyzer could be reimplemented as a <code class="literal">custom</code> analyzer as follows:</p>
<div class="pre_wrapper lang-console">
<pre class="programlisting prettyprint lang-console">PUT /armenian_example
{
  "settings": {
    "analysis": {
      "filter": {
        "armenian_stop": {
          "type":       "stop",
          "stopwords":  "_armenian_" <a id="CO375-1"></a><i class="conum" data-value="1"></i>
        },
        "armenian_keywords": {
          "type":       "keyword_marker",
          "keywords":   ["օրինակ"] <a id="CO375-2"></a><i class="conum" data-value="2"></i>
        },
        "armenian_stemmer": {
          "type":       "stemmer",
          "language":   "armenian"
        }
      },
      "analyzer": {
        "rebuilt_armenian": {
          "tokenizer":  "standard",
          "filter": [
            "lowercase",
            "armenian_stop",
            "armenian_keywords",
            "armenian_stemmer"
          ]
        }
      }
    }
  }
}</pre>
</div>
<div class="console_widget" data-snippet="snippets/813.console"></div>
<div class="calloutlist">
<table border="0" summary="Callout list">
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO375-1"><i class="conum" data-value="1"></i></a></p>
</td>
<td align="left" valign="top">
<p>The default stopwords can be overridden with the <code class="literal">stopwords</code>
or <code class="literal">stopwords_path</code> parameters.</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO375-2"><i class="conum" data-value="2"></i></a></p>
</td>
<td align="left" valign="top">
<p>This filter should be removed unless there are words which should
be excluded from stemming.</p>
</td>
</tr>
</table>
</div>
</div>

<div class="section">
<div class="titlepage"><div><div>
<h4 class="title">
<a id="basque-analyzer"></a><code class="literal">basque</code> analyzer<a class="edit_me edit_me_private" rel="nofollow" title="Editing on GitHub is available to Elastic" href="https://github.com/elastic/elasticsearch/edit/7.7/docs/reference/analysis/analyzers/lang-analyzer.asciidoc">edit</a>
</h4>
</div></div></div>
<p>The <code class="literal">basque</code> analyzer could be reimplemented as a <code class="literal">custom</code> analyzer as follows:</p>
<div class="pre_wrapper lang-console">
<pre class="programlisting prettyprint lang-console">PUT /basque_example
{
  "settings": {
    "analysis": {
      "filter": {
        "basque_stop": {
          "type":       "stop",
          "stopwords":  "_basque_" <a id="CO376-1"></a><i class="conum" data-value="1"></i>
        },
        "basque_keywords": {
          "type":       "keyword_marker",
          "keywords":   ["Adibidez"] <a id="CO376-2"></a><i class="conum" data-value="2"></i>
        },
        "basque_stemmer": {
          "type":       "stemmer",
          "language":   "basque"
        }
      },
      "analyzer": {
        "rebuilt_basque": {
          "tokenizer":  "standard",
          "filter": [
            "lowercase",
            "basque_stop",
            "basque_keywords",
            "basque_stemmer"
          ]
        }
      }
    }
  }
}</pre>
</div>
<div class="console_widget" data-snippet="snippets/814.console"></div>
<div class="calloutlist">
<table border="0" summary="Callout list">
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO376-1"><i class="conum" data-value="1"></i></a></p>
</td>
<td align="left" valign="top">
<p>The default stopwords can be overridden with the <code class="literal">stopwords</code>
or <code class="literal">stopwords_path</code> parameters.</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO376-2"><i class="conum" data-value="2"></i></a></p>
</td>
<td align="left" valign="top">
<p>This filter should be removed unless there are words which should
be excluded from stemming.</p>
</td>
</tr>
</table>
</div>
</div>

<div class="section">
<div class="titlepage"><div><div>
<h4 class="title">
<a id="bengali-analyzer"></a><code class="literal">bengali</code> analyzer<a class="edit_me edit_me_private" rel="nofollow" title="Editing on GitHub is available to Elastic" href="https://github.com/elastic/elasticsearch/edit/7.7/docs/reference/analysis/analyzers/lang-analyzer.asciidoc">edit</a>
</h4>
</div></div></div>
<p>The <code class="literal">bengali</code> analyzer could be reimplemented as a <code class="literal">custom</code> analyzer as follows:</p>
<div class="pre_wrapper lang-console">
<pre class="programlisting prettyprint lang-console">PUT /bengali_example
{
  "settings": {
    "analysis": {
      "filter": {
        "bengali_stop": {
          "type":       "stop",
          "stopwords":  "_bengali_" <a id="CO377-1"></a><i class="conum" data-value="1"></i>
        },
        "bengali_keywords": {
          "type":       "keyword_marker",
          "keywords":   ["উদাহরণ"] <a id="CO377-2"></a><i class="conum" data-value="2"></i>
        },
        "bengali_stemmer": {
          "type":       "stemmer",
          "language":   "bengali"
        }
      },
      "analyzer": {
        "rebuilt_bengali": {
          "tokenizer":  "standard",
          "filter": [
            "lowercase",
            "decimal_digit",
            "bengali_keywords",
            "indic_normalization",
            "bengali_normalization",
            "bengali_stop",
            "bengali_stemmer"
          ]
        }
      }
    }
  }
}</pre>
</div>
<div class="console_widget" data-snippet="snippets/815.console"></div>
<div class="calloutlist">
<table border="0" summary="Callout list">
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO377-1"><i class="conum" data-value="1"></i></a></p>
</td>
<td align="left" valign="top">
<p>The default stopwords can be overridden with the <code class="literal">stopwords</code>
or <code class="literal">stopwords_path</code> parameters.</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO377-2"><i class="conum" data-value="2"></i></a></p>
</td>
<td align="left" valign="top">
<p>This filter should be removed unless there are words which should
be excluded from stemming.</p>
</td>
</tr>
</table>
</div>
</div>

<div class="section">
<div class="titlepage"><div><div>
<h4 class="title">
<a id="brazilian-analyzer"></a><code class="literal">brazilian</code> analyzer<a class="edit_me edit_me_private" rel="nofollow" title="Editing on GitHub is available to Elastic" href="https://github.com/elastic/elasticsearch/edit/7.7/docs/reference/analysis/analyzers/lang-analyzer.asciidoc">edit</a>
</h4>
</div></div></div>
<p>The <code class="literal">brazilian</code> analyzer could be reimplemented as a <code class="literal">custom</code> analyzer as follows:</p>
<div class="pre_wrapper lang-console">
<pre class="programlisting prettyprint lang-console">PUT /brazilian_example
{
  "settings": {
    "analysis": {
      "filter": {
        "brazilian_stop": {
          "type":       "stop",
          "stopwords":  "_brazilian_" <a id="CO378-1"></a><i class="conum" data-value="1"></i>
        },
        "brazilian_keywords": {
          "type":       "keyword_marker",
          "keywords":   ["exemplo"] <a id="CO378-2"></a><i class="conum" data-value="2"></i>
        },
        "brazilian_stemmer": {
          "type":       "stemmer",
          "language":   "brazilian"
        }
      },
      "analyzer": {
        "rebuilt_brazilian": {
          "tokenizer":  "standard",
          "filter": [
            "lowercase",
            "brazilian_stop",
            "brazilian_keywords",
            "brazilian_stemmer"
          ]
        }
      }
    }
  }
}</pre>
</div>
<div class="console_widget" data-snippet="snippets/816.console"></div>
<div class="calloutlist">
<table border="0" summary="Callout list">
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO378-1"><i class="conum" data-value="1"></i></a></p>
</td>
<td align="left" valign="top">
<p>The default stopwords can be overridden with the <code class="literal">stopwords</code>
or <code class="literal">stopwords_path</code> parameters.</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO378-2"><i class="conum" data-value="2"></i></a></p>
</td>
<td align="left" valign="top">
<p>This filter should be removed unless there are words which should
be excluded from stemming.</p>
</td>
</tr>
</table>
</div>
</div>

<div class="section">
<div class="titlepage"><div><div>
<h4 class="title">
<a id="bulgarian-analyzer"></a><code class="literal">bulgarian</code> analyzer<a class="edit_me edit_me_private" rel="nofollow" title="Editing on GitHub is available to Elastic" href="https://github.com/elastic/elasticsearch/edit/7.7/docs/reference/analysis/analyzers/lang-analyzer.asciidoc">edit</a>
</h4>
</div></div></div>
<p>The <code class="literal">bulgarian</code> analyzer could be reimplemented as a <code class="literal">custom</code> analyzer as follows:</p>
<div class="pre_wrapper lang-console">
<pre class="programlisting prettyprint lang-console">PUT /bulgarian_example
{
  "settings": {
    "analysis": {
      "filter": {
        "bulgarian_stop": {
          "type":       "stop",
          "stopwords":  "_bulgarian_" <a id="CO379-1"></a><i class="conum" data-value="1"></i>
        },
        "bulgarian_keywords": {
          "type":       "keyword_marker",
          "keywords":   ["пример"] <a id="CO379-2"></a><i class="conum" data-value="2"></i>
        },
        "bulgarian_stemmer": {
          "type":       "stemmer",
          "language":   "bulgarian"
        }
      },
      "analyzer": {
        "rebuilt_bulgarian": {
          "tokenizer":  "standard",
          "filter": [
            "lowercase",
            "bulgarian_stop",
            "bulgarian_keywords",
            "bulgarian_stemmer"
          ]
        }
      }
    }
  }
}</pre>
</div>
<div class="console_widget" data-snippet="snippets/817.console"></div>
<div class="calloutlist">
<table border="0" summary="Callout list">
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO379-1"><i class="conum" data-value="1"></i></a></p>
</td>
<td align="left" valign="top">
<p>The default stopwords can be overridden with the <code class="literal">stopwords</code>
or <code class="literal">stopwords_path</code> parameters.</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO379-2"><i class="conum" data-value="2"></i></a></p>
</td>
<td align="left" valign="top">
<p>This filter should be removed unless there are words which should
be excluded from stemming.</p>
</td>
</tr>
</table>
</div>
</div>

<div class="section">
<div class="titlepage"><div><div>
<h4 class="title">
<a id="catalan-analyzer"></a><code class="literal">catalan</code> analyzer<a class="edit_me edit_me_private" rel="nofollow" title="Editing on GitHub is available to Elastic" href="https://github.com/elastic/elasticsearch/edit/7.7/docs/reference/analysis/analyzers/lang-analyzer.asciidoc">edit</a>
</h4>
</div></div></div>
<p>The <code class="literal">catalan</code> analyzer could be reimplemented as a <code class="literal">custom</code> analyzer as follows:</p>
<div class="pre_wrapper lang-console">
<pre class="programlisting prettyprint lang-console">PUT /catalan_example
{
  "settings": {
    "analysis": {
      "filter": {
        "catalan_elision": {
          "type":       "elision",
          "articles":   [ "d", "l", "m", "n", "s", "t"],
          "articles_case": true
        },
        "catalan_stop": {
          "type":       "stop",
          "stopwords":  "_catalan_" <a id="CO380-1"></a><i class="conum" data-value="1"></i>
        },
        "catalan_keywords": {
          "type":       "keyword_marker",
          "keywords":   ["example"] <a id="CO380-2"></a><i class="conum" data-value="2"></i>
        },
        "catalan_stemmer": {
          "type":       "stemmer",
          "language":   "catalan"
        }
      },
      "analyzer": {
        "rebuilt_catalan": {
          "tokenizer":  "standard",
          "filter": [
            "catalan_elision",
            "lowercase",
            "catalan_stop",
            "catalan_keywords",
            "catalan_stemmer"
          ]
        }
      }
    }
  }
}</pre>
</div>
<div class="console_widget" data-snippet="snippets/818.console"></div>
<div class="calloutlist">
<table border="0" summary="Callout list">
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO380-1"><i class="conum" data-value="1"></i></a></p>
</td>
<td align="left" valign="top">
<p>The default stopwords can be overridden with the <code class="literal">stopwords</code>
or <code class="literal">stopwords_path</code> parameters.</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO380-2"><i class="conum" data-value="2"></i></a></p>
</td>
<td align="left" valign="top">
<p>This filter should be removed unless there are words which should
be excluded from stemming.</p>
</td>
</tr>
</table>
</div>
</div>

<div class="section">
<div class="titlepage"><div><div>
<h4 class="title">
<a id="cjk-analyzer"></a><code class="literal">cjk</code> analyzer<a class="edit_me edit_me_private" rel="nofollow" title="Editing on GitHub is available to Elastic" href="https://github.com/elastic/elasticsearch/edit/7.7/docs/reference/analysis/analyzers/lang-analyzer.asciidoc">edit</a>
</h4>
</div></div></div>
<div class="note admon">
<div class="icon"></div>
<div class="admon_content">
<p>You may find that <code class="literal">icu_analyzer</code> in the ICU analysis plugin works better
for CJK text than the <code class="literal">cjk</code> analyzer.  Experiment with your text and queries.</p>
</div>
</div>
<p>The <code class="literal">cjk</code> analyzer could be reimplemented as a <code class="literal">custom</code> analyzer as follows:</p>
<div class="pre_wrapper lang-console">
<pre class="programlisting prettyprint lang-console">PUT /cjk_example
{
  "settings": {
    "analysis": {
      "filter": {
        "english_stop": {
          "type":       "stop",
          "stopwords":  [ <a id="CO381-1"></a><i class="conum" data-value="1"></i>
            "a", "and", "are", "as", "at", "be", "but", "by", "for",
            "if", "in", "into", "is", "it", "no", "not", "of", "on",
            "or", "s", "such", "t", "that", "the", "their", "then",
            "there", "these", "they", "this", "to", "was", "will",
            "with", "www"
          ]
        }
      },
      "analyzer": {
        "rebuilt_cjk": {
          "tokenizer":  "standard",
          "filter": [
            "cjk_width",
            "lowercase",
            "cjk_bigram",
            "english_stop"
          ]
        }
      }
    }
  }
}</pre>
</div>
<div class="console_widget" data-snippet="snippets/819.console"></div>
<div class="calloutlist">
<table border="0" summary="Callout list">
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO381-1"><i class="conum" data-value="1"></i></a></p>
</td>
<td align="left" valign="top">
<p>The default stopwords can be overridden with the <code class="literal">stopwords</code>
or <code class="literal">stopwords_path</code> parameters. The default stop words are
<span class="strong strong"><strong>almost</strong></span> the same as the <code class="literal">_english_</code> set, but not exactly
the same.</p>
</td>
</tr>
</table>
</div>
</div>

<div class="section">
<div class="titlepage"><div><div>
<h4 class="title">
<a id="czech-analyzer"></a><code class="literal">czech</code> analyzer<a class="edit_me edit_me_private" rel="nofollow" title="Editing on GitHub is available to Elastic" href="https://github.com/elastic/elasticsearch/edit/7.7/docs/reference/analysis/analyzers/lang-analyzer.asciidoc">edit</a>
</h4>
</div></div></div>
<p>The <code class="literal">czech</code> analyzer could be reimplemented as a <code class="literal">custom</code> analyzer as follows:</p>
<div class="pre_wrapper lang-console">
<pre class="programlisting prettyprint lang-console">PUT /czech_example
{
  "settings": {
    "analysis": {
      "filter": {
        "czech_stop": {
          "type":       "stop",
          "stopwords":  "_czech_" <a id="CO382-1"></a><i class="conum" data-value="1"></i>
        },
        "czech_keywords": {
          "type":       "keyword_marker",
          "keywords":   ["příklad"] <a id="CO382-2"></a><i class="conum" data-value="2"></i>
        },
        "czech_stemmer": {
          "type":       "stemmer",
          "language":   "czech"
        }
      },
      "analyzer": {
        "rebuilt_czech": {
          "tokenizer":  "standard",
          "filter": [
            "lowercase",
            "czech_stop",
            "czech_keywords",
            "czech_stemmer"
          ]
        }
      }
    }
  }
}</pre>
</div>
<div class="console_widget" data-snippet="snippets/820.console"></div>
<div class="calloutlist">
<table border="0" summary="Callout list">
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO382-1"><i class="conum" data-value="1"></i></a></p>
</td>
<td align="left" valign="top">
<p>The default stopwords can be overridden with the <code class="literal">stopwords</code>
or <code class="literal">stopwords_path</code> parameters.</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO382-2"><i class="conum" data-value="2"></i></a></p>
</td>
<td align="left" valign="top">
<p>This filter should be removed unless there are words which should
be excluded from stemming.</p>
</td>
</tr>
</table>
</div>
</div>

<div class="section">
<div class="titlepage"><div><div>
<h4 class="title">
<a id="danish-analyzer"></a><code class="literal">danish</code> analyzer<a class="edit_me edit_me_private" rel="nofollow" title="Editing on GitHub is available to Elastic" href="https://github.com/elastic/elasticsearch/edit/7.7/docs/reference/analysis/analyzers/lang-analyzer.asciidoc">edit</a>
</h4>
</div></div></div>
<p>The <code class="literal">danish</code> analyzer could be reimplemented as a <code class="literal">custom</code> analyzer as follows:</p>
<div class="pre_wrapper lang-console">
<pre class="programlisting prettyprint lang-console">PUT /danish_example
{
  "settings": {
    "analysis": {
      "filter": {
        "danish_stop": {
          "type":       "stop",
          "stopwords":  "_danish_" <a id="CO383-1"></a><i class="conum" data-value="1"></i>
        },
        "danish_keywords": {
          "type":       "keyword_marker",
          "keywords":   ["eksempel"] <a id="CO383-2"></a><i class="conum" data-value="2"></i>
        },
        "danish_stemmer": {
          "type":       "stemmer",
          "language":   "danish"
        }
      },
      "analyzer": {
        "rebuilt_danish": {
          "tokenizer":  "standard",
          "filter": [
            "lowercase",
            "danish_stop",
            "danish_keywords",
            "danish_stemmer"
          ]
        }
      }
    }
  }
}</pre>
</div>
<div class="console_widget" data-snippet="snippets/821.console"></div>
<div class="calloutlist">
<table border="0" summary="Callout list">
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO383-1"><i class="conum" data-value="1"></i></a></p>
</td>
<td align="left" valign="top">
<p>The default stopwords can be overridden with the <code class="literal">stopwords</code>
or <code class="literal">stopwords_path</code> parameters.</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO383-2"><i class="conum" data-value="2"></i></a></p>
</td>
<td align="left" valign="top">
<p>This filter should be removed unless there are words which should
be excluded from stemming.</p>
</td>
</tr>
</table>
</div>
</div>

<div class="section">
<div class="titlepage"><div><div>
<h4 class="title">
<a id="dutch-analyzer"></a><code class="literal">dutch</code> analyzer<a class="edit_me edit_me_private" rel="nofollow" title="Editing on GitHub is available to Elastic" href="https://github.com/elastic/elasticsearch/edit/7.7/docs/reference/analysis/analyzers/lang-analyzer.asciidoc">edit</a>
</h4>
</div></div></div>
<p>The <code class="literal">dutch</code> analyzer could be reimplemented as a <code class="literal">custom</code> analyzer as follows:</p>
<div class="pre_wrapper lang-console">
<pre class="programlisting prettyprint lang-console">PUT /dutch_example
{
  "settings": {
    "analysis": {
      "filter": {
        "dutch_stop": {
          "type":       "stop",
          "stopwords":  "_dutch_" <a id="CO384-1"></a><i class="conum" data-value="1"></i>
        },
        "dutch_keywords": {
          "type":       "keyword_marker",
          "keywords":   ["voorbeeld"] <a id="CO384-2"></a><i class="conum" data-value="2"></i>
        },
        "dutch_stemmer": {
          "type":       "stemmer",
          "language":   "dutch"
        },
        "dutch_override": {
          "type":       "stemmer_override",
          "rules": [
            "fiets=&gt;fiets",
            "bromfiets=&gt;bromfiets",
            "ei=&gt;eier",
            "kind=&gt;kinder"
          ]
        }
      },
      "analyzer": {
        "rebuilt_dutch": {
          "tokenizer":  "standard",
          "filter": [
            "lowercase",
            "dutch_stop",
            "dutch_keywords",
            "dutch_override",
            "dutch_stemmer"
          ]
        }
      }
    }
  }
}</pre>
</div>
<div class="console_widget" data-snippet="snippets/822.console"></div>
<div class="calloutlist">
<table border="0" summary="Callout list">
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO384-1"><i class="conum" data-value="1"></i></a></p>
</td>
<td align="left" valign="top">
<p>The default stopwords can be overridden with the <code class="literal">stopwords</code>
or <code class="literal">stopwords_path</code> parameters.</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO384-2"><i class="conum" data-value="2"></i></a></p>
</td>
<td align="left" valign="top">
<p>This filter should be removed unless there are words which should
be excluded from stemming.</p>
</td>
</tr>
</table>
</div>
</div>

<div class="section">
<div class="titlepage"><div><div>
<h4 class="title">
<a id="english-analyzer"></a><code class="literal">english</code> analyzer<a class="edit_me edit_me_private" rel="nofollow" title="Editing on GitHub is available to Elastic" href="https://github.com/elastic/elasticsearch/edit/7.7/docs/reference/analysis/analyzers/lang-analyzer.asciidoc">edit</a>
</h4>
</div></div></div>
<p>The <code class="literal">english</code> analyzer could be reimplemented as a <code class="literal">custom</code> analyzer as follows:</p>
<div class="pre_wrapper lang-console">
<pre class="programlisting prettyprint lang-console">PUT /english_example
{
  "settings": {
    "analysis": {
      "filter": {
        "english_stop": {
          "type":       "stop",
          "stopwords":  "_english_" <a id="CO385-1"></a><i class="conum" data-value="1"></i>
        },
        "english_keywords": {
          "type":       "keyword_marker",
          "keywords":   ["example"] <a id="CO385-2"></a><i class="conum" data-value="2"></i>
        },
        "english_stemmer": {
          "type":       "stemmer",
          "language":   "english"
        },
        "english_possessive_stemmer": {
          "type":       "stemmer",
          "language":   "possessive_english"
        }
      },
      "analyzer": {
        "rebuilt_english": {
          "tokenizer":  "standard",
          "filter": [
            "english_possessive_stemmer",
            "lowercase",
            "english_stop",
            "english_keywords",
            "english_stemmer"
          ]
        }
      }
    }
  }
}</pre>
</div>
<div class="console_widget" data-snippet="snippets/823.console"></div>
<div class="calloutlist">
<table border="0" summary="Callout list">
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO385-1"><i class="conum" data-value="1"></i></a></p>
</td>
<td align="left" valign="top">
<p>The default stopwords can be overridden with the <code class="literal">stopwords</code>
or <code class="literal">stopwords_path</code> parameters.</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO385-2"><i class="conum" data-value="2"></i></a></p>
</td>
<td align="left" valign="top">
<p>This filter should be removed unless there are words which should
be excluded from stemming.</p>
</td>
</tr>
</table>
</div>
</div>

<div class="section">
<div class="titlepage"><div><div>
<h4 class="title">
<a id="estonian-analyzer"></a><code class="literal">estonian</code> analyzer<a class="edit_me edit_me_private" rel="nofollow" title="Editing on GitHub is available to Elastic" href="https://github.com/elastic/elasticsearch/edit/7.7/docs/reference/analysis/analyzers/lang-analyzer.asciidoc">edit</a>
</h4>
</div></div></div>
<p>The <code class="literal">estonian</code> analyzer could be reimplemented as a <code class="literal">custom</code> analyzer as follows:</p>
<div class="pre_wrapper lang-console">
<pre class="programlisting prettyprint lang-console">PUT /estonian_example
{
  "settings": {
    "analysis": {
      "filter": {
        "estonian_stop": {
          "type":       "stop",
          "stopwords":  "_estonian_" <a id="CO386-1"></a><i class="conum" data-value="1"></i>
        },
        "estonian_keywords": {
          "type":       "keyword_marker",
          "keywords":   ["näide"] <a id="CO386-2"></a><i class="conum" data-value="2"></i>
        },
        "estonian_stemmer": {
          "type":       "stemmer",
          "language":   "estonian"
        }
      },
      "analyzer": {
        "rebuilt_estonian": {
          "tokenizer":  "standard",
          "filter": [
            "lowercase",
            "estonian_stop",
            "estonian_keywords",
            "estonian_stemmer"
          ]
        }
      }
    }
  }
}</pre>
</div>
<div class="console_widget" data-snippet="snippets/824.console"></div>
<div class="calloutlist">
<table border="0" summary="Callout list">
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO386-1"><i class="conum" data-value="1"></i></a></p>
</td>
<td align="left" valign="top">
<p>The default stopwords can be overridden with the <code class="literal">stopwords</code>
or <code class="literal">stopwords_path</code> parameters.</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO386-2"><i class="conum" data-value="2"></i></a></p>
</td>
<td align="left" valign="top">
<p>This filter should be removed unless there are words which should
be excluded from stemming.</p>
</td>
</tr>
</table>
</div>
</div>

<div class="section">
<div class="titlepage"><div><div>
<h4 class="title">
<a id="finnish-analyzer"></a><code class="literal">finnish</code> analyzer<a class="edit_me edit_me_private" rel="nofollow" title="Editing on GitHub is available to Elastic" href="https://github.com/elastic/elasticsearch/edit/7.7/docs/reference/analysis/analyzers/lang-analyzer.asciidoc">edit</a>
</h4>
</div></div></div>
<p>The <code class="literal">finnish</code> analyzer could be reimplemented as a <code class="literal">custom</code> analyzer as follows:</p>
<div class="pre_wrapper lang-console">
<pre class="programlisting prettyprint lang-console">PUT /finnish_example
{
  "settings": {
    "analysis": {
      "filter": {
        "finnish_stop": {
          "type":       "stop",
          "stopwords":  "_finnish_" <a id="CO387-1"></a><i class="conum" data-value="1"></i>
        },
        "finnish_keywords": {
          "type":       "keyword_marker",
          "keywords":   ["esimerkki"] <a id="CO387-2"></a><i class="conum" data-value="2"></i>
        },
        "finnish_stemmer": {
          "type":       "stemmer",
          "language":   "finnish"
        }
      },
      "analyzer": {
        "rebuilt_finnish": {
          "tokenizer":  "standard",
          "filter": [
            "lowercase",
            "finnish_stop",
            "finnish_keywords",
            "finnish_stemmer"
          ]
        }
      }
    }
  }
}</pre>
</div>
<div class="console_widget" data-snippet="snippets/825.console"></div>
<div class="calloutlist">
<table border="0" summary="Callout list">
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO387-1"><i class="conum" data-value="1"></i></a></p>
</td>
<td align="left" valign="top">
<p>The default stopwords can be overridden with the <code class="literal">stopwords</code>
or <code class="literal">stopwords_path</code> parameters.</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO387-2"><i class="conum" data-value="2"></i></a></p>
</td>
<td align="left" valign="top">
<p>This filter should be removed unless there are words which should
be excluded from stemming.</p>
</td>
</tr>
</table>
</div>
</div>

<div class="section">
<div class="titlepage"><div><div>
<h4 class="title">
<a id="french-analyzer"></a><code class="literal">french</code> analyzer<a class="edit_me edit_me_private" rel="nofollow" title="Editing on GitHub is available to Elastic" href="https://github.com/elastic/elasticsearch/edit/7.7/docs/reference/analysis/analyzers/lang-analyzer.asciidoc">edit</a>
</h4>
</div></div></div>
<p>The <code class="literal">french</code> analyzer could be reimplemented as a <code class="literal">custom</code> analyzer as follows:</p>
<div class="pre_wrapper lang-console">
<pre class="programlisting prettyprint lang-console">PUT /french_example
{
  "settings": {
    "analysis": {
      "filter": {
        "french_elision": {
          "type":         "elision",
          "articles_case": true,
          "articles": [
              "l", "m", "t", "qu", "n", "s",
              "j", "d", "c", "jusqu", "quoiqu",
              "lorsqu", "puisqu"
            ]
        },
        "french_stop": {
          "type":       "stop",
          "stopwords":  "_french_" <a id="CO388-1"></a><i class="conum" data-value="1"></i>
        },
        "french_keywords": {
          "type":       "keyword_marker",
          "keywords":   ["Example"] <a id="CO388-2"></a><i class="conum" data-value="2"></i>
        },
        "french_stemmer": {
          "type":       "stemmer",
          "language":   "light_french"
        }
      },
      "analyzer": {
        "rebuilt_french": {
          "tokenizer":  "standard",
          "filter": [
            "french_elision",
            "lowercase",
            "french_stop",
            "french_keywords",
            "french_stemmer"
          ]
        }
      }
    }
  }
}</pre>
</div>
<div class="console_widget" data-snippet="snippets/826.console"></div>
<div class="calloutlist">
<table border="0" summary="Callout list">
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO388-1"><i class="conum" data-value="1"></i></a></p>
</td>
<td align="left" valign="top">
<p>The default stopwords can be overridden with the <code class="literal">stopwords</code>
or <code class="literal">stopwords_path</code> parameters.</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO388-2"><i class="conum" data-value="2"></i></a></p>
</td>
<td align="left" valign="top">
<p>This filter should be removed unless there are words which should
be excluded from stemming.</p>
</td>
</tr>
</table>
</div>
</div>

<div class="section">
<div class="titlepage"><div><div>
<h4 class="title">
<a id="galician-analyzer"></a><code class="literal">galician</code> analyzer<a class="edit_me edit_me_private" rel="nofollow" title="Editing on GitHub is available to Elastic" href="https://github.com/elastic/elasticsearch/edit/7.7/docs/reference/analysis/analyzers/lang-analyzer.asciidoc">edit</a>
</h4>
</div></div></div>
<p>The <code class="literal">galician</code> analyzer could be reimplemented as a <code class="literal">custom</code> analyzer as follows:</p>
<div class="pre_wrapper lang-console">
<pre class="programlisting prettyprint lang-console">PUT /galician_example
{
  "settings": {
    "analysis": {
      "filter": {
        "galician_stop": {
          "type":       "stop",
          "stopwords":  "_galician_" <a id="CO389-1"></a><i class="conum" data-value="1"></i>
        },
        "galician_keywords": {
          "type":       "keyword_marker",
          "keywords":   ["exemplo"] <a id="CO389-2"></a><i class="conum" data-value="2"></i>
        },
        "galician_stemmer": {
          "type":       "stemmer",
          "language":   "galician"
        }
      },
      "analyzer": {
        "rebuilt_galician": {
          "tokenizer":  "standard",
          "filter": [
            "lowercase",
            "galician_stop",
            "galician_keywords",
            "galician_stemmer"
          ]
        }
      }
    }
  }
}</pre>
</div>
<div class="console_widget" data-snippet="snippets/827.console"></div>
<div class="calloutlist">
<table border="0" summary="Callout list">
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO389-1"><i class="conum" data-value="1"></i></a></p>
</td>
<td align="left" valign="top">
<p>The default stopwords can be overridden with the <code class="literal">stopwords</code>
or <code class="literal">stopwords_path</code> parameters.</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO389-2"><i class="conum" data-value="2"></i></a></p>
</td>
<td align="left" valign="top">
<p>This filter should be removed unless there are words which should
be excluded from stemming.</p>
</td>
</tr>
</table>
</div>
</div>

<div class="section">
<div class="titlepage"><div><div>
<h4 class="title">
<a id="german-analyzer"></a><code class="literal">german</code> analyzer<a class="edit_me edit_me_private" rel="nofollow" title="Editing on GitHub is available to Elastic" href="https://github.com/elastic/elasticsearch/edit/7.7/docs/reference/analysis/analyzers/lang-analyzer.asciidoc">edit</a>
</h4>
</div></div></div>
<p>The <code class="literal">german</code> analyzer could be reimplemented as a <code class="literal">custom</code> analyzer as follows:</p>
<div class="pre_wrapper lang-console">
<pre class="programlisting prettyprint lang-console">PUT /german_example
{
  "settings": {
    "analysis": {
      "filter": {
        "german_stop": {
          "type":       "stop",
          "stopwords":  "_german_" <a id="CO390-1"></a><i class="conum" data-value="1"></i>
        },
        "german_keywords": {
          "type":       "keyword_marker",
          "keywords":   ["Beispiel"] <a id="CO390-2"></a><i class="conum" data-value="2"></i>
        },
        "german_stemmer": {
          "type":       "stemmer",
          "language":   "light_german"
        }
      },
      "analyzer": {
        "rebuilt_german": {
          "tokenizer":  "standard",
          "filter": [
            "lowercase",
            "german_stop",
            "german_keywords",
            "german_normalization",
            "german_stemmer"
          ]
        }
      }
    }
  }
}</pre>
</div>
<div class="console_widget" data-snippet="snippets/828.console"></div>
<div class="calloutlist">
<table border="0" summary="Callout list">
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO390-1"><i class="conum" data-value="1"></i></a></p>
</td>
<td align="left" valign="top">
<p>The default stopwords can be overridden with the <code class="literal">stopwords</code>
or <code class="literal">stopwords_path</code> parameters.</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO390-2"><i class="conum" data-value="2"></i></a></p>
</td>
<td align="left" valign="top">
<p>This filter should be removed unless there are words which should
be excluded from stemming.</p>
</td>
</tr>
</table>
</div>
</div>

<div class="section">
<div class="titlepage"><div><div>
<h4 class="title">
<a id="greek-analyzer"></a><code class="literal">greek</code> analyzer<a class="edit_me edit_me_private" rel="nofollow" title="Editing on GitHub is available to Elastic" href="https://github.com/elastic/elasticsearch/edit/7.7/docs/reference/analysis/analyzers/lang-analyzer.asciidoc">edit</a>
</h4>
</div></div></div>
<p>The <code class="literal">greek</code> analyzer could be reimplemented as a <code class="literal">custom</code> analyzer as follows:</p>
<div class="pre_wrapper lang-console">
<pre class="programlisting prettyprint lang-console">PUT /greek_example
{
  "settings": {
    "analysis": {
      "filter": {
        "greek_stop": {
          "type":       "stop",
          "stopwords":  "_greek_" <a id="CO391-1"></a><i class="conum" data-value="1"></i>
        },
        "greek_lowercase": {
          "type":       "lowercase",
          "language":   "greek"
        },
        "greek_keywords": {
          "type":       "keyword_marker",
          "keywords":   ["παράδειγμα"] <a id="CO391-2"></a><i class="conum" data-value="2"></i>
        },
        "greek_stemmer": {
          "type":       "stemmer",
          "language":   "greek"
        }
      },
      "analyzer": {
        "rebuilt_greek": {
          "tokenizer":  "standard",
          "filter": [
            "greek_lowercase",
            "greek_stop",
            "greek_keywords",
            "greek_stemmer"
          ]
        }
      }
    }
  }
}</pre>
</div>
<div class="console_widget" data-snippet="snippets/829.console"></div>
<div class="calloutlist">
<table border="0" summary="Callout list">
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO391-1"><i class="conum" data-value="1"></i></a></p>
</td>
<td align="left" valign="top">
<p>The default stopwords can be overridden with the <code class="literal">stopwords</code>
or <code class="literal">stopwords_path</code> parameters.</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO391-2"><i class="conum" data-value="2"></i></a></p>
</td>
<td align="left" valign="top">
<p>This filter should be removed unless there are words which should
be excluded from stemming.</p>
</td>
</tr>
</table>
</div>
</div>

<div class="section">
<div class="titlepage"><div><div>
<h4 class="title">
<a id="hindi-analyzer"></a><code class="literal">hindi</code> analyzer<a class="edit_me edit_me_private" rel="nofollow" title="Editing on GitHub is available to Elastic" href="https://github.com/elastic/elasticsearch/edit/7.7/docs/reference/analysis/analyzers/lang-analyzer.asciidoc">edit</a>
</h4>
</div></div></div>
<p>The <code class="literal">hindi</code> analyzer could be reimplemented as a <code class="literal">custom</code> analyzer as follows:</p>
<div class="pre_wrapper lang-console">
<pre class="programlisting prettyprint lang-console">PUT /hindi_example
{
  "settings": {
    "analysis": {
      "filter": {
        "hindi_stop": {
          "type":       "stop",
          "stopwords":  "_hindi_" <a id="CO392-1"></a><i class="conum" data-value="1"></i>
        },
        "hindi_keywords": {
          "type":       "keyword_marker",
          "keywords":   ["उदाहरण"] <a id="CO392-2"></a><i class="conum" data-value="2"></i>
        },
        "hindi_stemmer": {
          "type":       "stemmer",
          "language":   "hindi"
        }
      },
      "analyzer": {
        "rebuilt_hindi": {
          "tokenizer":  "standard",
          "filter": [
            "lowercase",
            "decimal_digit",
            "hindi_keywords",
            "indic_normalization",
            "hindi_normalization",
            "hindi_stop",
            "hindi_stemmer"
          ]
        }
      }
    }
  }
}</pre>
</div>
<div class="console_widget" data-snippet="snippets/830.console"></div>
<div class="calloutlist">
<table border="0" summary="Callout list">
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO392-1"><i class="conum" data-value="1"></i></a></p>
</td>
<td align="left" valign="top">
<p>The default stopwords can be overridden with the <code class="literal">stopwords</code>
or <code class="literal">stopwords_path</code> parameters.</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO392-2"><i class="conum" data-value="2"></i></a></p>
</td>
<td align="left" valign="top">
<p>This filter should be removed unless there are words which should
be excluded from stemming.</p>
</td>
</tr>
</table>
</div>
</div>

<div class="section">
<div class="titlepage"><div><div>
<h4 class="title">
<a id="hungarian-analyzer"></a><code class="literal">hungarian</code> analyzer<a class="edit_me edit_me_private" rel="nofollow" title="Editing on GitHub is available to Elastic" href="https://github.com/elastic/elasticsearch/edit/7.7/docs/reference/analysis/analyzers/lang-analyzer.asciidoc">edit</a>
</h4>
</div></div></div>
<p>The <code class="literal">hungarian</code> analyzer could be reimplemented as a <code class="literal">custom</code> analyzer as follows:</p>
<div class="pre_wrapper lang-console">
<pre class="programlisting prettyprint lang-console">PUT /hungarian_example
{
  "settings": {
    "analysis": {
      "filter": {
        "hungarian_stop": {
          "type":       "stop",
          "stopwords":  "_hungarian_" <a id="CO393-1"></a><i class="conum" data-value="1"></i>
        },
        "hungarian_keywords": {
          "type":       "keyword_marker",
          "keywords":   ["példa"] <a id="CO393-2"></a><i class="conum" data-value="2"></i>
        },
        "hungarian_stemmer": {
          "type":       "stemmer",
          "language":   "hungarian"
        }
      },
      "analyzer": {
        "rebuilt_hungarian": {
          "tokenizer":  "standard",
          "filter": [
            "lowercase",
            "hungarian_stop",
            "hungarian_keywords",
            "hungarian_stemmer"
          ]
        }
      }
    }
  }
}</pre>
</div>
<div class="console_widget" data-snippet="snippets/831.console"></div>
<div class="calloutlist">
<table border="0" summary="Callout list">
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO393-1"><i class="conum" data-value="1"></i></a></p>
</td>
<td align="left" valign="top">
<p>The default stopwords can be overridden with the <code class="literal">stopwords</code>
or <code class="literal">stopwords_path</code> parameters.</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO393-2"><i class="conum" data-value="2"></i></a></p>
</td>
<td align="left" valign="top">
<p>This filter should be removed unless there are words which should
be excluded from stemming.</p>
</td>
</tr>
</table>
</div>
</div>

<div class="section">
<div class="titlepage"><div><div>
<h4 class="title">
<a id="indonesian-analyzer"></a><code class="literal">indonesian</code> analyzer<a class="edit_me edit_me_private" rel="nofollow" title="Editing on GitHub is available to Elastic" href="https://github.com/elastic/elasticsearch/edit/7.7/docs/reference/analysis/analyzers/lang-analyzer.asciidoc">edit</a>
</h4>
</div></div></div>
<p>The <code class="literal">indonesian</code> analyzer could be reimplemented as a <code class="literal">custom</code> analyzer as follows:</p>
<div class="pre_wrapper lang-console">
<pre class="programlisting prettyprint lang-console">PUT /indonesian_example
{
  "settings": {
    "analysis": {
      "filter": {
        "indonesian_stop": {
          "type":       "stop",
          "stopwords":  "_indonesian_" <a id="CO394-1"></a><i class="conum" data-value="1"></i>
        },
        "indonesian_keywords": {
          "type":       "keyword_marker",
          "keywords":   ["contoh"] <a id="CO394-2"></a><i class="conum" data-value="2"></i>
        },
        "indonesian_stemmer": {
          "type":       "stemmer",
          "language":   "indonesian"
        }
      },
      "analyzer": {
        "rebuilt_indonesian": {
          "tokenizer":  "standard",
          "filter": [
            "lowercase",
            "indonesian_stop",
            "indonesian_keywords",
            "indonesian_stemmer"
          ]
        }
      }
    }
  }
}</pre>
</div>
<div class="console_widget" data-snippet="snippets/832.console"></div>
<div class="calloutlist">
<table border="0" summary="Callout list">
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO394-1"><i class="conum" data-value="1"></i></a></p>
</td>
<td align="left" valign="top">
<p>The default stopwords can be overridden with the <code class="literal">stopwords</code>
or <code class="literal">stopwords_path</code> parameters.</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO394-2"><i class="conum" data-value="2"></i></a></p>
</td>
<td align="left" valign="top">
<p>This filter should be removed unless there are words which should
be excluded from stemming.</p>
</td>
</tr>
</table>
</div>
</div>

<div class="section">
<div class="titlepage"><div><div>
<h4 class="title">
<a id="irish-analyzer"></a><code class="literal">irish</code> analyzer<a class="edit_me edit_me_private" rel="nofollow" title="Editing on GitHub is available to Elastic" href="https://github.com/elastic/elasticsearch/edit/7.7/docs/reference/analysis/analyzers/lang-analyzer.asciidoc">edit</a>
</h4>
</div></div></div>
<p>The <code class="literal">irish</code> analyzer could be reimplemented as a <code class="literal">custom</code> analyzer as follows:</p>
<div class="pre_wrapper lang-console">
<pre class="programlisting prettyprint lang-console">PUT /irish_example
{
  "settings": {
    "analysis": {
      "filter": {
        "irish_hyphenation": {
          "type":       "stop",
          "stopwords":  [ "h", "n", "t" ],
          "ignore_case": true
        },
        "irish_elision": {
          "type":       "elision",
          "articles":   [ "d", "m", "b" ],
          "articles_case": true
        },
        "irish_stop": {
          "type":       "stop",
          "stopwords":  "_irish_" <a id="CO395-1"></a><i class="conum" data-value="1"></i>
        },
        "irish_lowercase": {
          "type":       "lowercase",
          "language":   "irish"
        },
        "irish_keywords": {
          "type":       "keyword_marker",
          "keywords":   ["sampla"] <a id="CO395-2"></a><i class="conum" data-value="2"></i>
        },
        "irish_stemmer": {
          "type":       "stemmer",
          "language":   "irish"
        }
      },
      "analyzer": {
        "rebuilt_irish": {
          "tokenizer":  "standard",
          "filter": [
            "irish_hyphenation",
            "irish_elision",
            "irish_lowercase",
            "irish_stop",
            "irish_keywords",
            "irish_stemmer"
          ]
        }
      }
    }
  }
}</pre>
</div>
<div class="console_widget" data-snippet="snippets/833.console"></div>
<div class="calloutlist">
<table border="0" summary="Callout list">
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO395-1"><i class="conum" data-value="1"></i></a></p>
</td>
<td align="left" valign="top">
<p>The default stopwords can be overridden with the <code class="literal">stopwords</code>
or <code class="literal">stopwords_path</code> parameters.</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO395-2"><i class="conum" data-value="2"></i></a></p>
</td>
<td align="left" valign="top">
<p>This filter should be removed unless there are words which should
be excluded from stemming.</p>
</td>
</tr>
</table>
</div>
</div>

<div class="section">
<div class="titlepage"><div><div>
<h4 class="title">
<a id="italian-analyzer"></a><code class="literal">italian</code> analyzer<a class="edit_me edit_me_private" rel="nofollow" title="Editing on GitHub is available to Elastic" href="https://github.com/elastic/elasticsearch/edit/7.7/docs/reference/analysis/analyzers/lang-analyzer.asciidoc">edit</a>
</h4>
</div></div></div>
<p>The <code class="literal">italian</code> analyzer could be reimplemented as a <code class="literal">custom</code> analyzer as follows:</p>
<div class="pre_wrapper lang-console">
<pre class="programlisting prettyprint lang-console">PUT /italian_example
{
  "settings": {
    "analysis": {
      "filter": {
        "italian_elision": {
          "type": "elision",
          "articles": [
                "c", "l", "all", "dall", "dell",
                "nell", "sull", "coll", "pell",
                "gl", "agl", "dagl", "degl", "negl",
                "sugl", "un", "m", "t", "s", "v", "d"
          ],
          "articles_case": true
        },
        "italian_stop": {
          "type":       "stop",
          "stopwords":  "_italian_" <a id="CO396-1"></a><i class="conum" data-value="1"></i>
        },
        "italian_keywords": {
          "type":       "keyword_marker",
          "keywords":   ["esempio"] <a id="CO396-2"></a><i class="conum" data-value="2"></i>
        },
        "italian_stemmer": {
          "type":       "stemmer",
          "language":   "light_italian"
        }
      },
      "analyzer": {
        "rebuilt_italian": {
          "tokenizer":  "standard",
          "filter": [
            "italian_elision",
            "lowercase",
            "italian_stop",
            "italian_keywords",
            "italian_stemmer"
          ]
        }
      }
    }
  }
}</pre>
</div>
<div class="console_widget" data-snippet="snippets/834.console"></div>
<div class="calloutlist">
<table border="0" summary="Callout list">
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO396-1"><i class="conum" data-value="1"></i></a></p>
</td>
<td align="left" valign="top">
<p>The default stopwords can be overridden with the <code class="literal">stopwords</code>
or <code class="literal">stopwords_path</code> parameters.</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO396-2"><i class="conum" data-value="2"></i></a></p>
</td>
<td align="left" valign="top">
<p>This filter should be removed unless there are words which should
be excluded from stemming.</p>
</td>
</tr>
</table>
</div>
</div>

<div class="section">
<div class="titlepage"><div><div>
<h4 class="title">
<a id="latvian-analyzer"></a><code class="literal">latvian</code> analyzer<a class="edit_me edit_me_private" rel="nofollow" title="Editing on GitHub is available to Elastic" href="https://github.com/elastic/elasticsearch/edit/7.7/docs/reference/analysis/analyzers/lang-analyzer.asciidoc">edit</a>
</h4>
</div></div></div>
<p>The <code class="literal">latvian</code> analyzer could be reimplemented as a <code class="literal">custom</code> analyzer as follows:</p>
<div class="pre_wrapper lang-console">
<pre class="programlisting prettyprint lang-console">PUT /latvian_example
{
  "settings": {
    "analysis": {
      "filter": {
        "latvian_stop": {
          "type":       "stop",
          "stopwords":  "_latvian_" <a id="CO397-1"></a><i class="conum" data-value="1"></i>
        },
        "latvian_keywords": {
          "type":       "keyword_marker",
          "keywords":   ["piemērs"] <a id="CO397-2"></a><i class="conum" data-value="2"></i>
        },
        "latvian_stemmer": {
          "type":       "stemmer",
          "language":   "latvian"
        }
      },
      "analyzer": {
        "rebuilt_latvian": {
          "tokenizer":  "standard",
          "filter": [
            "lowercase",
            "latvian_stop",
            "latvian_keywords",
            "latvian_stemmer"
          ]
        }
      }
    }
  }
}</pre>
</div>
<div class="console_widget" data-snippet="snippets/835.console"></div>
<div class="calloutlist">
<table border="0" summary="Callout list">
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO397-1"><i class="conum" data-value="1"></i></a></p>
</td>
<td align="left" valign="top">
<p>The default stopwords can be overridden with the <code class="literal">stopwords</code>
or <code class="literal">stopwords_path</code> parameters.</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO397-2"><i class="conum" data-value="2"></i></a></p>
</td>
<td align="left" valign="top">
<p>This filter should be removed unless there are words which should
be excluded from stemming.</p>
</td>
</tr>
</table>
</div>
</div>

<div class="section">
<div class="titlepage"><div><div>
<h4 class="title">
<a id="lithuanian-analyzer"></a><code class="literal">lithuanian</code> analyzer<a class="edit_me edit_me_private" rel="nofollow" title="Editing on GitHub is available to Elastic" href="https://github.com/elastic/elasticsearch/edit/7.7/docs/reference/analysis/analyzers/lang-analyzer.asciidoc">edit</a>
</h4>
</div></div></div>
<p>The <code class="literal">lithuanian</code> analyzer could be reimplemented as a <code class="literal">custom</code> analyzer as follows:</p>
<div class="pre_wrapper lang-console">
<pre class="programlisting prettyprint lang-console">PUT /lithuanian_example
{
  "settings": {
    "analysis": {
      "filter": {
        "lithuanian_stop": {
          "type":       "stop",
          "stopwords":  "_lithuanian_" <a id="CO398-1"></a><i class="conum" data-value="1"></i>
        },
        "lithuanian_keywords": {
          "type":       "keyword_marker",
          "keywords":   ["pavyzdys"] <a id="CO398-2"></a><i class="conum" data-value="2"></i>
        },
        "lithuanian_stemmer": {
          "type":       "stemmer",
          "language":   "lithuanian"
        }
      },
      "analyzer": {
        "rebuilt_lithuanian": {
          "tokenizer":  "standard",
          "filter": [
            "lowercase",
            "lithuanian_stop",
            "lithuanian_keywords",
            "lithuanian_stemmer"
          ]
        }
      }
    }
  }
}</pre>
</div>
<div class="console_widget" data-snippet="snippets/836.console"></div>
<div class="calloutlist">
<table border="0" summary="Callout list">
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO398-1"><i class="conum" data-value="1"></i></a></p>
</td>
<td align="left" valign="top">
<p>The default stopwords can be overridden with the <code class="literal">stopwords</code>
or <code class="literal">stopwords_path</code> parameters.</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO398-2"><i class="conum" data-value="2"></i></a></p>
</td>
<td align="left" valign="top">
<p>This filter should be removed unless there are words which should
be excluded from stemming.</p>
</td>
</tr>
</table>
</div>
</div>

<div class="section">
<div class="titlepage"><div><div>
<h4 class="title">
<a id="norwegian-analyzer"></a><code class="literal">norwegian</code> analyzer<a class="edit_me edit_me_private" rel="nofollow" title="Editing on GitHub is available to Elastic" href="https://github.com/elastic/elasticsearch/edit/7.7/docs/reference/analysis/analyzers/lang-analyzer.asciidoc">edit</a>
</h4>
</div></div></div>
<p>The <code class="literal">norwegian</code> analyzer could be reimplemented as a <code class="literal">custom</code> analyzer as follows:</p>
<div class="pre_wrapper lang-console">
<pre class="programlisting prettyprint lang-console">PUT /norwegian_example
{
  "settings": {
    "analysis": {
      "filter": {
        "norwegian_stop": {
          "type":       "stop",
          "stopwords":  "_norwegian_" <a id="CO399-1"></a><i class="conum" data-value="1"></i>
        },
        "norwegian_keywords": {
          "type":       "keyword_marker",
          "keywords":   ["eksempel"] <a id="CO399-2"></a><i class="conum" data-value="2"></i>
        },
        "norwegian_stemmer": {
          "type":       "stemmer",
          "language":   "norwegian"
        }
      },
      "analyzer": {
        "rebuilt_norwegian": {
          "tokenizer":  "standard",
          "filter": [
            "lowercase",
            "norwegian_stop",
            "norwegian_keywords",
            "norwegian_stemmer"
          ]
        }
      }
    }
  }
}</pre>
</div>
<div class="console_widget" data-snippet="snippets/837.console"></div>
<div class="calloutlist">
<table border="0" summary="Callout list">
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO399-1"><i class="conum" data-value="1"></i></a></p>
</td>
<td align="left" valign="top">
<p>The default stopwords can be overridden with the <code class="literal">stopwords</code>
or <code class="literal">stopwords_path</code> parameters.</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO399-2"><i class="conum" data-value="2"></i></a></p>
</td>
<td align="left" valign="top">
<p>This filter should be removed unless there are words which should
be excluded from stemming.</p>
</td>
</tr>
</table>
</div>
</div>

<div class="section">
<div class="titlepage"><div><div>
<h4 class="title">
<a id="persian-analyzer"></a><code class="literal">persian</code> analyzer<a class="edit_me edit_me_private" rel="nofollow" title="Editing on GitHub is available to Elastic" href="https://github.com/elastic/elasticsearch/edit/7.7/docs/reference/analysis/analyzers/lang-analyzer.asciidoc">edit</a>
</h4>
</div></div></div>
<p>The <code class="literal">persian</code> analyzer could be reimplemented as a <code class="literal">custom</code> analyzer as follows:</p>
<div class="pre_wrapper lang-console">
<pre class="programlisting prettyprint lang-console">PUT /persian_example
{
  "settings": {
    "analysis": {
      "char_filter": {
        "zero_width_spaces": {
            "type":       "mapping",
            "mappings": [ "\\u200C=&gt;\\u0020"] <a id="CO400-1"></a><i class="conum" data-value="1"></i>
        }
      },
      "filter": {
        "persian_stop": {
          "type":       "stop",
          "stopwords":  "_persian_" <a id="CO400-2"></a><i class="conum" data-value="2"></i>
        }
      },
      "analyzer": {
        "rebuilt_persian": {
          "tokenizer":     "standard",
          "char_filter": [ "zero_width_spaces" ],
          "filter": [
            "lowercase",
            "decimal_digit",
            "arabic_normalization",
            "persian_normalization",
            "persian_stop"
          ]
        }
      }
    }
  }
}</pre>
</div>
<div class="console_widget" data-snippet="snippets/838.console"></div>
<div class="calloutlist">
<table border="0" summary="Callout list">
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO400-1"><i class="conum" data-value="1"></i></a></p>
</td>
<td align="left" valign="top">
<p>Replaces zero-width non-joiners with an ASCII space.</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO400-2"><i class="conum" data-value="2"></i></a></p>
</td>
<td align="left" valign="top">
<p>The default stopwords can be overridden with the <code class="literal">stopwords</code>
or <code class="literal">stopwords_path</code> parameters.</p>
</td>
</tr>
</table>
</div>
</div>

<div class="section">
<div class="titlepage"><div><div>
<h4 class="title">
<a id="portuguese-analyzer"></a><code class="literal">portuguese</code> analyzer<a class="edit_me edit_me_private" rel="nofollow" title="Editing on GitHub is available to Elastic" href="https://github.com/elastic/elasticsearch/edit/7.7/docs/reference/analysis/analyzers/lang-analyzer.asciidoc">edit</a>
</h4>
</div></div></div>
<p>The <code class="literal">portuguese</code> analyzer could be reimplemented as a <code class="literal">custom</code> analyzer as follows:</p>
<div class="pre_wrapper lang-console">
<pre class="programlisting prettyprint lang-console">PUT /portuguese_example
{
  "settings": {
    "analysis": {
      "filter": {
        "portuguese_stop": {
          "type":       "stop",
          "stopwords":  "_portuguese_" <a id="CO401-1"></a><i class="conum" data-value="1"></i>
        },
        "portuguese_keywords": {
          "type":       "keyword_marker",
          "keywords":   ["exemplo"] <a id="CO401-2"></a><i class="conum" data-value="2"></i>
        },
        "portuguese_stemmer": {
          "type":       "stemmer",
          "language":   "light_portuguese"
        }
      },
      "analyzer": {
        "rebuilt_portuguese": {
          "tokenizer":  "standard",
          "filter": [
            "lowercase",
            "portuguese_stop",
            "portuguese_keywords",
            "portuguese_stemmer"
          ]
        }
      }
    }
  }
}</pre>
</div>
<div class="console_widget" data-snippet="snippets/839.console"></div>
<div class="calloutlist">
<table border="0" summary="Callout list">
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO401-1"><i class="conum" data-value="1"></i></a></p>
</td>
<td align="left" valign="top">
<p>The default stopwords can be overridden with the <code class="literal">stopwords</code>
or <code class="literal">stopwords_path</code> parameters.</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO401-2"><i class="conum" data-value="2"></i></a></p>
</td>
<td align="left" valign="top">
<p>This filter should be removed unless there are words which should
be excluded from stemming.</p>
</td>
</tr>
</table>
</div>
</div>

<div class="section">
<div class="titlepage"><div><div>
<h4 class="title">
<a id="romanian-analyzer"></a><code class="literal">romanian</code> analyzer<a class="edit_me edit_me_private" rel="nofollow" title="Editing on GitHub is available to Elastic" href="https://github.com/elastic/elasticsearch/edit/7.7/docs/reference/analysis/analyzers/lang-analyzer.asciidoc">edit</a>
</h4>
</div></div></div>
<p>The <code class="literal">romanian</code> analyzer could be reimplemented as a <code class="literal">custom</code> analyzer as follows:</p>
<div class="pre_wrapper lang-console">
<pre class="programlisting prettyprint lang-console">PUT /romanian_example
{
  "settings": {
    "analysis": {
      "filter": {
        "romanian_stop": {
          "type":       "stop",
          "stopwords":  "_romanian_" <a id="CO402-1"></a><i class="conum" data-value="1"></i>
        },
        "romanian_keywords": {
          "type":       "keyword_marker",
          "keywords":   ["exemplu"] <a id="CO402-2"></a><i class="conum" data-value="2"></i>
        },
        "romanian_stemmer": {
          "type":       "stemmer",
          "language":   "romanian"
        }
      },
      "analyzer": {
        "rebuilt_romanian": {
          "tokenizer":  "standard",
          "filter": [
            "lowercase",
            "romanian_stop",
            "romanian_keywords",
            "romanian_stemmer"
          ]
        }
      }
    }
  }
}</pre>
</div>
<div class="console_widget" data-snippet="snippets/840.console"></div>
<div class="calloutlist">
<table border="0" summary="Callout list">
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO402-1"><i class="conum" data-value="1"></i></a></p>
</td>
<td align="left" valign="top">
<p>The default stopwords can be overridden with the <code class="literal">stopwords</code>
or <code class="literal">stopwords_path</code> parameters.</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO402-2"><i class="conum" data-value="2"></i></a></p>
</td>
<td align="left" valign="top">
<p>This filter should be removed unless there are words which should
be excluded from stemming.</p>
</td>
</tr>
</table>
</div>
</div>

<div class="section">
<div class="titlepage"><div><div>
<h4 class="title">
<a id="russian-analyzer"></a><code class="literal">russian</code> analyzer<a class="edit_me edit_me_private" rel="nofollow" title="Editing on GitHub is available to Elastic" href="https://github.com/elastic/elasticsearch/edit/7.7/docs/reference/analysis/analyzers/lang-analyzer.asciidoc">edit</a>
</h4>
</div></div></div>
<p>The <code class="literal">russian</code> analyzer could be reimplemented as a <code class="literal">custom</code> analyzer as follows:</p>
<div class="pre_wrapper lang-console">
<pre class="programlisting prettyprint lang-console">PUT /russian_example
{
  "settings": {
    "analysis": {
      "filter": {
        "russian_stop": {
          "type":       "stop",
          "stopwords":  "_russian_" <a id="CO403-1"></a><i class="conum" data-value="1"></i>
        },
        "russian_keywords": {
          "type":       "keyword_marker",
          "keywords":   ["пример"] <a id="CO403-2"></a><i class="conum" data-value="2"></i>
        },
        "russian_stemmer": {
          "type":       "stemmer",
          "language":   "russian"
        }
      },
      "analyzer": {
        "rebuilt_russian": {
          "tokenizer":  "standard",
          "filter": [
            "lowercase",
            "russian_stop",
            "russian_keywords",
            "russian_stemmer"
          ]
        }
      }
    }
  }
}</pre>
</div>
<div class="console_widget" data-snippet="snippets/841.console"></div>
<div class="calloutlist">
<table border="0" summary="Callout list">
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO403-1"><i class="conum" data-value="1"></i></a></p>
</td>
<td align="left" valign="top">
<p>The default stopwords can be overridden with the <code class="literal">stopwords</code>
or <code class="literal">stopwords_path</code> parameters.</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO403-2"><i class="conum" data-value="2"></i></a></p>
</td>
<td align="left" valign="top">
<p>This filter should be removed unless there are words which should
be excluded from stemming.</p>
</td>
</tr>
</table>
</div>
</div>

<div class="section">
<div class="titlepage"><div><div>
<h4 class="title">
<a id="sorani-analyzer"></a><code class="literal">sorani</code> analyzer<a class="edit_me edit_me_private" rel="nofollow" title="Editing on GitHub is available to Elastic" href="https://github.com/elastic/elasticsearch/edit/7.7/docs/reference/analysis/analyzers/lang-analyzer.asciidoc">edit</a>
</h4>
</div></div></div>
<p>The <code class="literal">sorani</code> analyzer could be reimplemented as a <code class="literal">custom</code> analyzer as follows:</p>
<div class="pre_wrapper lang-console">
<pre class="programlisting prettyprint lang-console">PUT /sorani_example
{
  "settings": {
    "analysis": {
      "filter": {
        "sorani_stop": {
          "type":       "stop",
          "stopwords":  "_sorani_" <a id="CO404-1"></a><i class="conum" data-value="1"></i>
        },
        "sorani_keywords": {
          "type":       "keyword_marker",
          "keywords":   ["mînak"] <a id="CO404-2"></a><i class="conum" data-value="2"></i>
        },
        "sorani_stemmer": {
          "type":       "stemmer",
          "language":   "sorani"
        }
      },
      "analyzer": {
        "rebuilt_sorani": {
          "tokenizer":  "standard",
          "filter": [
            "sorani_normalization",
            "lowercase",
            "decimal_digit",
            "sorani_stop",
            "sorani_keywords",
            "sorani_stemmer"
          ]
        }
      }
    }
  }
}</pre>
</div>
<div class="console_widget" data-snippet="snippets/842.console"></div>
<div class="calloutlist">
<table border="0" summary="Callout list">
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO404-1"><i class="conum" data-value="1"></i></a></p>
</td>
<td align="left" valign="top">
<p>The default stopwords can be overridden with the <code class="literal">stopwords</code>
or <code class="literal">stopwords_path</code> parameters.</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO404-2"><i class="conum" data-value="2"></i></a></p>
</td>
<td align="left" valign="top">
<p>This filter should be removed unless there are words which should
be excluded from stemming.</p>
</td>
</tr>
</table>
</div>
</div>

<div class="section">
<div class="titlepage"><div><div>
<h4 class="title">
<a id="spanish-analyzer"></a><code class="literal">spanish</code> analyzer<a class="edit_me edit_me_private" rel="nofollow" title="Editing on GitHub is available to Elastic" href="https://github.com/elastic/elasticsearch/edit/7.7/docs/reference/analysis/analyzers/lang-analyzer.asciidoc">edit</a>
</h4>
</div></div></div>
<p>The <code class="literal">spanish</code> analyzer could be reimplemented as a <code class="literal">custom</code> analyzer as follows:</p>
<div class="pre_wrapper lang-console">
<pre class="programlisting prettyprint lang-console">PUT /spanish_example
{
  "settings": {
    "analysis": {
      "filter": {
        "spanish_stop": {
          "type":       "stop",
          "stopwords":  "_spanish_" <a id="CO405-1"></a><i class="conum" data-value="1"></i>
        },
        "spanish_keywords": {
          "type":       "keyword_marker",
          "keywords":   ["ejemplo"] <a id="CO405-2"></a><i class="conum" data-value="2"></i>
        },
        "spanish_stemmer": {
          "type":       "stemmer",
          "language":   "light_spanish"
        }
      },
      "analyzer": {
        "rebuilt_spanish": {
          "tokenizer":  "standard",
          "filter": [
            "lowercase",
            "spanish_stop",
            "spanish_keywords",
            "spanish_stemmer"
          ]
        }
      }
    }
  }
}</pre>
</div>
<div class="console_widget" data-snippet="snippets/843.console"></div>
<div class="calloutlist">
<table border="0" summary="Callout list">
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO405-1"><i class="conum" data-value="1"></i></a></p>
</td>
<td align="left" valign="top">
<p>The default stopwords can be overridden with the <code class="literal">stopwords</code>
or <code class="literal">stopwords_path</code> parameters.</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO405-2"><i class="conum" data-value="2"></i></a></p>
</td>
<td align="left" valign="top">
<p>This filter should be removed unless there are words which should
be excluded from stemming.</p>
</td>
</tr>
</table>
</div>
</div>

<div class="section">
<div class="titlepage"><div><div>
<h4 class="title">
<a id="swedish-analyzer"></a><code class="literal">swedish</code> analyzer<a class="edit_me edit_me_private" rel="nofollow" title="Editing on GitHub is available to Elastic" href="https://github.com/elastic/elasticsearch/edit/7.7/docs/reference/analysis/analyzers/lang-analyzer.asciidoc">edit</a>
</h4>
</div></div></div>
<p>The <code class="literal">swedish</code> analyzer could be reimplemented as a <code class="literal">custom</code> analyzer as follows:</p>
<div class="pre_wrapper lang-console">
<pre class="programlisting prettyprint lang-console">PUT /swedish_example
{
  "settings": {
    "analysis": {
      "filter": {
        "swedish_stop": {
          "type":       "stop",
          "stopwords":  "_swedish_" <a id="CO406-1"></a><i class="conum" data-value="1"></i>
        },
        "swedish_keywords": {
          "type":       "keyword_marker",
          "keywords":   ["exempel"] <a id="CO406-2"></a><i class="conum" data-value="2"></i>
        },
        "swedish_stemmer": {
          "type":       "stemmer",
          "language":   "swedish"
        }
      },
      "analyzer": {
        "rebuilt_swedish": {
          "tokenizer":  "standard",
          "filter": [
            "lowercase",
            "swedish_stop",
            "swedish_keywords",
            "swedish_stemmer"
          ]
        }
      }
    }
  }
}</pre>
</div>
<div class="console_widget" data-snippet="snippets/844.console"></div>
<div class="calloutlist">
<table border="0" summary="Callout list">
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO406-1"><i class="conum" data-value="1"></i></a></p>
</td>
<td align="left" valign="top">
<p>The default stopwords can be overridden with the <code class="literal">stopwords</code>
or <code class="literal">stopwords_path</code> parameters.</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO406-2"><i class="conum" data-value="2"></i></a></p>
</td>
<td align="left" valign="top">
<p>This filter should be removed unless there are words which should
be excluded from stemming.</p>
</td>
</tr>
</table>
</div>
</div>

<div class="section">
<div class="titlepage"><div><div>
<h4 class="title">
<a id="turkish-analyzer"></a><code class="literal">turkish</code> analyzer<a class="edit_me edit_me_private" rel="nofollow" title="Editing on GitHub is available to Elastic" href="https://github.com/elastic/elasticsearch/edit/7.7/docs/reference/analysis/analyzers/lang-analyzer.asciidoc">edit</a>
</h4>
</div></div></div>
<p>The <code class="literal">turkish</code> analyzer could be reimplemented as a <code class="literal">custom</code> analyzer as follows:</p>
<div class="pre_wrapper lang-console">
<pre class="programlisting prettyprint lang-console">PUT /turkish_example
{
  "settings": {
    "analysis": {
      "filter": {
        "turkish_stop": {
          "type":       "stop",
          "stopwords":  "_turkish_" <a id="CO407-1"></a><i class="conum" data-value="1"></i>
        },
        "turkish_lowercase": {
          "type":       "lowercase",
          "language":   "turkish"
        },
        "turkish_keywords": {
          "type":       "keyword_marker",
          "keywords":   ["örnek"] <a id="CO407-2"></a><i class="conum" data-value="2"></i>
        },
        "turkish_stemmer": {
          "type":       "stemmer",
          "language":   "turkish"
        }
      },
      "analyzer": {
        "rebuilt_turkish": {
          "tokenizer":  "standard",
          "filter": [
            "apostrophe",
            "turkish_lowercase",
            "turkish_stop",
            "turkish_keywords",
            "turkish_stemmer"
          ]
        }
      }
    }
  }
}</pre>
</div>
<div class="console_widget" data-snippet="snippets/845.console"></div>
<div class="calloutlist">
<table border="0" summary="Callout list">
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO407-1"><i class="conum" data-value="1"></i></a></p>
</td>
<td align="left" valign="top">
<p>The default stopwords can be overridden with the <code class="literal">stopwords</code>
or <code class="literal">stopwords_path</code> parameters.</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO407-2"><i class="conum" data-value="2"></i></a></p>
</td>
<td align="left" valign="top">
<p>This filter should be removed unless there are words which should
be excluded from stemming.</p>
</td>
</tr>
</table>
</div>
</div>

<div class="section">
<div class="titlepage"><div><div>
<h4 class="title">
<a id="thai-analyzer"></a><code class="literal">thai</code> analyzer<a class="edit_me edit_me_private" rel="nofollow" title="Editing on GitHub is available to Elastic" href="https://github.com/elastic/elasticsearch/edit/7.7/docs/reference/analysis/analyzers/lang-analyzer.asciidoc">edit</a>
</h4>
</div></div></div>
<p>The <code class="literal">thai</code> analyzer could be reimplemented as a <code class="literal">custom</code> analyzer as follows:</p>
<div class="pre_wrapper lang-console">
<pre class="programlisting prettyprint lang-console">PUT /thai_example
{
  "settings": {
    "analysis": {
      "filter": {
        "thai_stop": {
          "type":       "stop",
          "stopwords":  "_thai_" <a id="CO408-1"></a><i class="conum" data-value="1"></i>
        }
      },
      "analyzer": {
        "rebuilt_thai": {
          "tokenizer":  "thai",
          "filter": [
            "lowercase",
            "decimal_digit",
            "thai_stop"
          ]
        }
      }
    }
  }
}</pre>
</div>
<div class="console_widget" data-snippet="snippets/846.console"></div>
<div class="calloutlist">
<table border="0" summary="Callout list">
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO408-1"><i class="conum" data-value="1"></i></a></p>
</td>
<td align="left" valign="top">
<p>The default stopwords can be overridden with the <code class="literal">stopwords</code>
or <code class="literal">stopwords_path</code> parameters.</p>
</td>
</tr>
</table>
</div>
</div>

</div>

</div>
<div class="navfooter">
<span class="prev">
<a href="analysis-keyword-analyzer.html">« Keyword Analyzer</a>
</span>
<span class="next">
<a href="analysis-pattern-analyzer.html">Pattern Analyzer »</a>
</span>
</div>
</div>

                  <!-- end body -->
                </div>
                <div class="col-xs-12 col-sm-4 col-md-4" id="right_col">
                  <div id="rtpcontainer" style="display: block;">
                    <div class="mktg-promo">
                      <h3>Most Popular</h3>
                      <ul class="icons">
                        <li class="icon-elasticsearch-white"><a href="https://www.elastic.co/webinars/getting-started-elasticsearch?baymax=default&amp;elektra=docs&amp;storm=top-video">Get Started with Elasticsearch: Video</a></li>
                        <li class="icon-kibana-white"><a href="https://www.elastic.co/webinars/getting-started-kibana?baymax=default&amp;elektra=docs&amp;storm=top-video">Intro to Kibana: Video</a></li>
                        <li class="icon-logstash-white"><a href="https://www.elastic.co/webinars/introduction-elk-stack?baymax=default&amp;elektra=docs&amp;storm=top-video">ELK for Logs &amp; Metrics: Video</a></li>
                      </ul>
                    </div>
                  </div>
                </div>
              </div>
            </div>
          </section>

        </div>


<div id="elastic-footer"></div>
<script src="https://www.elastic.co/elastic-footer.js"></script>
<!-- Footer Section end-->

      </section>
    </div>

<script src="/guide/static/jquery.js"></script>
<script type="text/javascript" src="/guide/static/docs.js"></script>
<script type="text/javascript">
  window.initial_state = {}</script>
  </body>
</html>
